# -*- coding: utf-8 -*-
# @Time    : 2023/9/19 15:13
# @Author  : floraachy
# @File    : repo_setting_page.py
# @Software: PyCharm
# @Desc:


# 标准库导入
# 第三方库导入
import allure
# 本地应用/模块导入
from utils.base_utils.base_page import BasePage


class RepoSettingPage(BasePage):
    """项目仓库设置-基本设置也，仅项目管理员及以上权限可以访问"""
    # 删除本仓库 按钮
    locator_delete_repo_btn = "xpath=//span[text()='删除本仓库']"
    # 删除仓库 确认提示弹窗
    locator_delete_repo_pop = "//div[@class='task-popup-content']"
    # 确定 按钮
    locator_confirm_btn = "xpath=//a[text()='确定']"

    @allure.step("访问仓库设置-基本设置页面： /{repo_owner}/{repo_identifier}/settings")
    def navigate(self, repo_owner, repo_identifier):
        """
        访问仓库设置-基本设置页面
        """
        self.visit(f"/{repo_owner}/{repo_identifier}/settings")

    @allure.step("点击【删除本仓库】按钮")
    def click_delete_repo_button(self):
        """
        滚动到底部，点击 删除本仓库 按钮
        """
        self.click(self.locator_delete_repo_btn)

    @allure.step("删除后仓库确认提示弹窗中，点击【确定】按钮")
    def click_delete_repo_confirm_button(self):
        """
        删除后仓库确认提示弹窗中 点击确定按钮
        """
        self.is_element_visible(locator=self.locator_delete_repo_pop)
        self.click(self.locator_confirm_btn)

    # --------------------- 流程 -------------------------------------
    @allure.step("删除仓库流程")
    def delete_repo_flow(self):
        """
        删除仓库流程
        """
        # 点击【删除本仓库】按钮
        self.click_delete_repo_button()
        # 确认提示弹框中，点击【确定】按钮
        self.click_delete_repo_confirm_button()
